// pages/list/list.js
import fetch from '../../utils/fetch'
import regeneratorRuntime  from '../../utils/runtime'

Page({

  /**
   * 页面的初始数据
   */
    data: {
        id:null,
        list: [],
        isloading: true,
        hasmore:true,
        _page:1
  },

  /**
   * 生命周期函数--监听页面加载
   */
    onLoad: function(options) {
        this.setData({
            id:options.id
        }, () => {
        this.getList()
        })
  },
  async getList(){
     let {id,_page,list,hasmore} = this.data
     if(!hasmore) return; 
    let res = await  fetch({
        url:`categories/${id}/shops`,
        data:{
          _page:_page,
          _limit:10
        }
      })
    
 
      this.setData({
        isloading:true
      })

        //  拿到数据的总数, 计算总共应该有多少页, 再判断当前是第几页
        let total = res.header['x-total-count']
        let totalpage = Math.ceil(total / 10)
        if(totalpage - _page <= 0){
          hasmore = false
        }
        list = [...list, ...res.data]
        this.setData({
          list,
          isloading: false,
          hasmore,
          _page: _page + 1
        })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      list: [],
      hasmore: true,
      _page: 1
    })

    this.getList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    this.getList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})